Data transfers between electronic devices have conventionally been performed with parallel data buses. When a need for greater bandwidth arises in such implementations, developers are generally forced to widen parallel data buses, increase clock frequencies, or both. Unfortunately, as bus sizes and clock frequencies increase, additional design factors such as the control of printed circuit board trace characteristics, connector sizes, and skew between data and clocks all become more difficult to manage.
As an alternative to parallel data transfers, serial buses may be used to perform serial data transfers. In particular, developers may incorporate serializer-deserializer (serdes) devices with clock and data recovery (CDR) facilities into their products to convert data into serial format for transfer over serial busses. Various existing serdes devices are designed for use with devices compliant with standard interfaces such as the 10 gigabit attachment unit interface (XAUI), gigabit ethernet (GbE), or peripheral component interconnect express (PCIe). As a result, developers are generally forced to provide support for one or more such interface standards in their products in order to incorporate existing serdes devices.
Unfortunately, existing serdes approaches can unduly burden developers. For example, many serdes-compatible industry standards require developers to have knowledge of various complicated interface protocols (e.g., XAUI, GbE, or PCIe) in order to properly implement the standards. The incorporation of such standards by developers can also be costly in terms of overhead (e.g., loss of bandwidth) and additional components that must be incorporated into the developer's product to support such standards. This approach is particularly inefficient in applications where a designer seeks to implement a point-to-point connection to transfer data from chip to chip or board to board within a system, and does not need more sophisticated interfacing that may be supported by such industry standards.
Accordingly, there is a need for an alternative approach to serial interfacing that permits developers to conveniently add serial data transfer capabilities to products without requiring developers to implement support for complicated interface protocols. Similarly, there is a need for such an approach without incurring extensive overhead associated with prior approaches.